"""编写程序，模拟生成某饭店自2020年1月1日开始连续100天试营业期间的营业额数据并写入CSV文件。
文件中共两列，第一列为日期，第二列为营业额，
文件第一行为表头或字段名称。
假设该饭店第一天营业额基数为500元，每天增加5元，除此之外每天还会随机增加5到50元不等。"""

import csv
import datetime
from _csv import reader

from random import randint

# 打开需要写入的csv文件，对于“生成的csv文件每两行中间都有一行空白行”问题，解决办法就是写入后面加上newline=""
with open(r'resources\营业额.csv', 'w', encoding='utf-8', newline="") as f:
    writer = csv.writer(f)
    writer.writerow(['日期', '营业额'])  # 表头
    # 第一天的日期，2020年1月1日
    startDate = datetime.date(2020, 1, 1)
    for i in range(1, 101):
        amount = 500 + 5 * i + randint(5, 50)
        # 将结果作为一行写入csv文件
        writer.writerow([startDate.strftime('%Y年%m月%d日'), '%d' % amount + '元'])
        # 生成下一天的日期
        startDate = startDate + datetime.timedelta(days=1)
    print("成功将随机生成的100天（从2020年1月1日开始）营业额写入了‘营业额.csv文件’!\n")

# 打开csv文件输出其内容
with open(r'resources\营业额.csv', 'r', encoding='utf-8') as f:
    for line in reader(f):
        if line:
            print(*line)  # 加*是为了直接输出内容
    print("\n成功打开‘营业额.csv文件’，并输出了其中的内容！\n")
